package com.cncq.flowable.factory;

import org.flowable.engine.*;

import javax.annotation.Resource;
/**
 * <p>
 * 流程常用服务引擎
 * </p>
 *
 * @author : yaols
 * Desc:
 * Date: 2022.08.02.17:21
 **/
public abstract class FlowableServiceFactory {

    /**
     * 提供对流程定义和部署存储库的访问的服务
     */
    @Resource
    protected RepositoryService repositoryService;

    /**
     * 流程执行服务
     */
    @Resource
    protected RuntimeService runtimeService;

    /**
     * 管理用户和组的服务
     */
    @Resource
    protected IdentityService identityService;

    /**
     * 提供访问任务和表单相关操作的服务
     */
    @Resource
    protected TaskService taskService;

    /**
     * 访问表单数据和呈现的表单以启动新流程实例和完成任务
     */
//    @Resource
//    protected FormService formService;

    /**
     * 服务公开有关正在进行的和过去的流程实例的信息。
     * 这与运行时信息不同，因为运行时信息仅包含任何给定时刻的实际运行时状态，
     * 并且针对运行时流程执行性能进行了优化。
     * 历史信息经过优化，便于查询，并永久保存在持久存储中
     */
    @Resource
    protected HistoryService historyService;

    /**
     * 用于流程引擎上的管理和维护操作的服务。
     * 这些操作通常不会在工作流驱动的应用程序中使用，而是在例如操作控制台中使用
     */
    @Resource
    protected ManagementService managementService;

    /**
     * 提供对公开 BPM 和工作流操作的所有服务的访问
     */
    @Resource
    protected ProcessEngine processEngine;
}
